//
// Created by Dell on 2024/8/13.
//
#include <jni.h>
#include <string>
#include <stdint.h>
#include <stdio.h>
#include <x264.h>

extern "C"
JNIEXPORT void JNICALL
Java_com_dan_x264_X264_x264_1picture_1init(JNIEnv *env, jclass clazz, jobject pic) {
    // TODO: implement x264_picture_init()
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_dan_x264_X264_x264_1picture_1alloc(JNIEnv *env, jclass clazz, jobject pic, jint i_csp,
                                            jint i_width, jint i_height) {
    // TODO: implement x264_picture_alloc()
}
extern "C"
JNIEXPORT void JNICALL
Java_com_dan_x264_X264_x264_1picture_1clean(JNIEnv *env, jclass clazz, jobject pic) {
    // TODO: implement x264_picture_clean()
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_dan_x264_X264_x264_1encoder_1open(JNIEnv *env, jclass clazz, jobject param) {
    // TODO: implement x264_encoder_open()
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_dan_x264_X264_x264_1encoder_1reconfig(JNIEnv *env, jclass clazz, jint x264_t,
                                               jobject param) {
    // TODO: implement x264_encoder_reconfig()
}
extern "C"
JNIEXPORT jobject JNICALL
Java_com_dan_x264_X264_x264_1encoder_1parameters(JNIEnv *env, jclass clazz, jint x264_t) {
    // TODO: implement x264_encoder_parameters()
}
extern "C"
JNIEXPORT jobject JNICALL
Java_com_dan_x264_X264_x264_1encoder_1headers(JNIEnv *env, jclass clazz, jint x264_t) {
    // TODO: implement x264_encoder_headers()
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_dan_x264_X264_x264_1encoder_1encode(JNIEnv *env, jclass clazz, jint x264_t,
                                             jobject x264_nal, jobject pic_in, jobject pic_out) {
    // TODO: implement x264_encoder_encode()
}
extern "C"
JNIEXPORT void JNICALL
Java_com_dan_x264_X264_x264_1encoder_1close(JNIEnv *env, jclass clazz, jint x264_t) {
    // TODO: implement x264_encoder_close()
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_dan_x264_X264_x264_1encoder_1delayed_1frames(JNIEnv *env, jclass clazz, jint x264_t) {
    // TODO: implement x264_encoder_delayed_frames()
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_dan_x264_X264_x264_1encoder_1maximum_1delayed_1frames(JNIEnv *env, jclass clazz,
                                                               jint x264_t) {
    // TODO: implement x264_encoder_maximum_delayed_frames()
}
extern "C"
JNIEXPORT void JNICALL
Java_com_dan_x264_X264_x264_1encoder_1intra_1refresh(JNIEnv *env, jclass clazz, jint x264_t) {
    // TODO: implement x264_encoder_intra_refresh()
}
extern "C"
JNIEXPORT jint JNICALL
Java_com_dan_x264_X264_x264_1encoder_1invalidate_1reference(JNIEnv *env, jclass clazz, jint x264_t,
                                                            jlong pts) {
    // TODO: implement x264_encoder_invalidate_reference()
}